import express from 'express'
import db from '../config/db.js'

const router = express.Router()

// 建表处理函数（幂等）
const createTableHandler = async (_req, res) => {
  const sql = `
    CREATE TABLE IF NOT EXISTS setup_trainings (
      id INT NOT NULL AUTO_INCREMENT,
      name VARCHAR(255) NOT NULL COMMENT '训练名称',
      level VARCHAR(50) NOT NULL COMMENT '级别：零基础/初学者/进阶/强化者',
      equipments TEXT COMMENT 'JSON字符串：[\"瑜伽垫\",\"弹力带\"]',
      parts TEXT COMMENT 'JSON字符串：[\"胸部\",\"背部\"]',
      warmup TINYINT(1) DEFAULT 0 COMMENT '是否包含热身',
      stretch TINYINT(1) DEFAULT 0 COMMENT '是否包含拉伸',
      createdAt BIGINT COMMENT '前端传入时间戳（毫秒）',
      created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '服务器写入时间',
      PRIMARY KEY (id),
      KEY idx_level (level),
      KEY idx_created_at (created_at)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  `
  try {
    const conn = await db.getConnection()
    conn.query(sql, [], (err) => {
      conn.release()
      if (err) return res.status(500).json({ message: '建表失败', error: String(err) })
      res.json({ message: 'setup_trainings 表已就绪(幂等)' })
    })
  } catch (e) {
    res.status(500).json({ message: '数据库连接失败', error: String(e) })
  }
}

// 同一路由支持 GET/POST 以便浏览器直接点也能生效
router.get('/setup-trainings', createTableHandler)
router.post('/setup-trainings', createTableHandler)

export default router
